package iface.aplicativo.integracao.dao;

import iface.aplicativo.negocio.entidade.Fabricante;
import iface.aplicativo.negocio.entidade.Modelo;
import iface.arquitetura.integracao.HibernateDAOAbstrato;

import java.util.Collection;

import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

@Repository
public class ModeloDAO extends HibernateDAOAbstrato<Modelo> {

	public Collection<Modelo> consultarModelosPorFabricante(
			final Fabricante fabricante) {
		Criteria criteria = novoCriteria();
		criteria.createAlias("fabricante", "fabricante");

		if (fabricante != null && fabricante.getId() != null) {
			criteria.add(Restrictions.eq("fabricante.id", fabricante.getId()));
		}

		return consultar(criteria);
	}

	public Modelo consultarPorNomeModelo(Modelo modelo) {
		Criteria criteria = novoCriteria();

		criteria.add(Restrictions.eq("nmModelo", modelo.getNmModelo()));

		return (Modelo) criteria.uniqueResult();
	}

}
